Scheduled connect and disconnect of cordless scanner

ABSTRACT

Techniques for connecting and disconnecting cordless scanners to/from host devices are disclosed herein. A transceiver of an example barcode reader is configured to attempt to establish a wireless connection with a host device (e.g., repeatedly) over a first period of time. Responsive to failing to establish the connection with the host device over the first period of time, the barcode reader enters a power-saving mode. During the power-saving mode at least one of the transceiver, a decode engine, a peripheral sensor, and an imaging engine of the barcode reader are deactivated. The wireless transceiver of the barcode reader is configured to attempt to re-establish the wireless connection with the host device after (i) a passage of a second period of time following the first period of time, wherein the second period of time is greater than the first period of time; or (ii) a receipt of an interrupt signal.

BACKGROUND

Cordless barcode readers typically communicate with a host device (e.g.,a workstation, such as a checkout workstation in a retail environment, aworkstation on wheels (WOW cart) in a hospital environment, amanufacturing workstation, etc.) via a wireless connection (e.g., aBluetooth® connection). For example, the cordless barcode reader maytransmit indications of decoded barcodes to the host device via thewireless connection. Typical cordless barcode readers are configured tocontinuously or repeatedly attempt to connect to the host device until aconnection is made. However, continuous or repeated connection attemptsdrain the cordless barcode reader's battery power, and can slow downother wireless networks operating in the same area, such as, e.g., WiFinetworks.

For example, if the host device is being updated or rebooted, the hostdevice may not be able to connect to the cordless barcode reader or mayrefuse connections to the cordless barcode reader during the update orreboot. Consequently, when a typical cordless barcode readercontinuously or repeatedly attempts to connect to the host device duringthe update or reboot, the other wireless networks in the area will beslowed down, inconveniencing users of the other wireless networks forthe duration of the update or the reboot. Furthermore, the cordlessbarcode reader's battery will drain, inconveniencing users of thecordless barcode reader.

Moreover, once a wireless connection is established, typical cordlessbarcode readers are configured to persistently stay connected to aparticular host device as long as the cordless barcode reader remainswithin wireless connection range of the host device. However, this cancreate difficulties in situations where a user must quickly switch thecordless barcode reader between various closely-situated workstations(e.g., closely-situated checkout workstations in a retail environment,closely-situated WOW carts in a hospital environment, closely-situatedworkstations in a manufacturing environment, etc.). That is, thecordless barcode reader may remain persistently connected to a firstworkstation even as a user attempts to wirelessly connect the cordlessbarcode reader to a second workstation.

SUMMARY

In an embodiment, the present invention is a method for attempting toconnect a barcode reader to a host device, comprising: attempting, by awireless transceiver of the barcode reader, to establish a wirelessconnection with a host device a plurality of times over a first periodof time; entering, by the barcode reader, a power-saving mode responsiveto failing to establish the wireless connection with the host deviceover the first period of time wherein during the power-saving mode atleast one of the transceiver, a decode engine, a peripheral sensor, andan imaging engine of the barcode reader are deactivated; and attempting,by the wireless transceiver of the barcode reader, to re-establish thewireless connection with the host device after (i) a passage of a secondperiod of time following the first period of time, wherein the secondperiod of time is greater than the first period of time; or (ii) areceipt of an interrupt signal.

In a variation of this embodiment, the method may include setting, bythe barcode reader, a duration of the first period of time and/or aduration of the second period of time based on user input.

In another embodiment, the present invention is a method, comprising:establishing, by a barcode reader within wireless connection range of afirst workstation and a second workstation of a logical grouping ofworkstations, a wireless connection with the first workstation; forcinga disconnect of the wireless connection between the barcode reader andthe first workstation after a period of time during which the barcodereader is inactive; and establishing, by the barcode reader, a wirelessconnection with the second workstation after the period of time.

In a variation of this embodiment, the method may include setting, bythe barcode reader, a duration of the period of time based on userinput.

In yet another embodiment, the present invention is a barcode readerincluding a wireless transceiver, the barcode reader configured to:attempt, by the wireless transceiver, to establish a wireless connectionwith a host device a plurality of times over a first period of time;enter a power-saving mode responsive to failing to establish thewireless connection with the host device over the first period of timewherein during the power-saving mode at least one of the transceiver, adecode engine, a peripheral sensor, and an imaging engine of the barcodereader are deactivated; and attempt, by the wireless transceiver, tore-establish the wireless connection with the host device after (i) apassage of a second period of time following the first period of time,wherein the second period of time is greater than the first period oftime; or (ii) a receipt of an interrupt signal.

In a variation of this embodiment, the barcode reader is furtherconfigured to set a duration of the first period of time and/or aduration of the second period of time based on user input.

In still yet another embodiment, the present invention is a barcodereader within wireless connection range of a first workstation and asecond workstation of a logical grouping of workstations, the barcodereader configured to: establish a wireless connection with the firstworkstation; force a disconnect of the wireless connection with thefirst workstation after a period of time during which the barcode readeris inactive; and establish a wireless connection with the secondworkstation after the period of time.

In a variation of this embodiment, the barcode reader is furtherconfigured to set a duration of the period of time based on user input.

In yet another embodiment, the present invention is a system comprising:a host device; and a barcode reader including a wireless transceiver,the barcode reader configured to: attempt, by the wireless transceiver,to establish a wireless connection with a host device a plurality oftimes over a first period of time; enter a power-saving mode responsiveto failing to establish the wireless connection with the host deviceover the first period of time wherein during the power-saving mode atleast one of the transceiver, a decode engine, a peripheral sensor, andan imaging engine of the barcode reader are deactivated; and attempt, bythe wireless transceiver, to re-establish the wireless connection withthe host device after (i) a passage of a second period of time followingthe first period of time, wherein the second period of time is greaterthan the first period of time; or (ii) a receipt of an interrupt signal.

In a variation of this embodiment, the barcode reader is furtherconfigured to set a duration of the first period of time and/or aduration of the second period of time based on user input.

In still yet another embodiment, the present invention is a systemcomprising: a logical grouping of workstations including a firstworkstation and a second workstation; and a barcode reader withinwireless connection range of the first workstation and the secondworkstation, the barcode reader configured to: establish a wirelessconnection with the first workstation; force a disconnect of thewireless connection with the first workstation after a period of timeduring which the barcode reader is inactive; and establish a wirelessconnection with the second workstation after the period of time.

In a variation of this embodiment, the barcode reader is furtherconfigured to set a duration of the period of time based on user input.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying figures, where like reference numerals refer toidentical or functionally similar elements throughout the separateviews, together with the detailed description below, are incorporated inand form part of the specification, and serve to further illustrateembodiments of concepts that include the claimed invention, and explainvarious principles and advantages of those embodiments.

FIG. 1 illustrates a block diagram of an example system including alogic circuit for implementing the example methods and/or operationsdescribed herein, including techniques for attempting to connect abarcode reader to a host device.

FIG. 2 illustrates a block diagram of an example system including alogic circuit for implementing the example methods and/or operationsdescribed herein, including techniques for forcing a disconnect of awireless connection between a cordless barcode reader and a firstworkstation so that the cordless barcode reader can connect to a secondworkstation.

FIG. 3 illustrates a block diagram of an example process as may beimplemented by the logic circuit of FIG. 1, for implementing examplemethods and/or operations described herein, including techniques forattempting to connect a barcode reader to a host device.

FIG. 4 illustrates a block diagram of another example process as may beimplemented by the logic circuit of FIG. 2, for implementing examplemethods and/or operations described herein, including techniques forforcing a disconnect of a wireless connection between a cordless barcodereader and a first workstation so that the cordless barcode reader canconnect to a second workstation.

Skilled artisans will appreciate that elements in the figures areillustrated for simplicity and clarity and have not necessarily beendrawn to scale. For example, the dimensions of some of the elements inthe figures may be exaggerated relative to other elements to help toimprove understanding of embodiments of the present invention.

The apparatus and method components have been represented whereappropriate by conventional symbols in the drawings, showing only thosespecific details that are pertinent to understanding the embodiments ofthe present invention so as not to obscure the disclosure with detailsthat will be readily apparent to those of ordinary skill in the arthaving the benefit of the description herein.

DETAILED DESCRIPTION

As discussed above, cordless barcode readers typically communicate witha host device (e.g., a checkout workstation in a retail environment, aworkstation on wheels in a hospital environment, a manufacturingworkstation, etc.) via a wireless connection (e.g., a Bluetooth®connection). For example, the cordless barcode reader may transmitindications of decoded barcodes to the host device via the wirelessconnection. Typical cordless barcode readers are configured tocontinuously or repeatedly attempt to connect to the host device until aconnection is made. However, continuous or repeated connection attemptsdrain the cordless barcode reader's battery power, and can slow downother wireless networks operating in the same area, such as, e.g., WiFinetworks.

For example, if the host device is being updated or rebooted, the hostdevice may not be able to connect to the cordless barcode reader or mayrefuse connections to the cordless barcode reader during the update orreboot. Consequently, when a typical cordless barcode readercontinuously or repeatedly attempts to connect to the host device duringthe update or reboot, the other wireless networks in the area will beslowed down, inconveniencing users of the other wireless networks forthe duration of the update or the reboot. Furthermore, the cordlessbarcode reader's battery will drain, inconveniencing users of thecordless barcode reader.

Moreover, once a wireless connection is established, typical cordlessbarcode readers are configured to persistently stay connected to aparticular host device as long as the cordless barcode reader remainswithin wireless connection range of the host device. However, this cancreate difficulties in situations where a user must frequently switchbetween workstations in a closely situated cluster or other logicalgrouping, such as, e.g., in a retail environment a user must quicklyswitch the cordless barcode reader between various closely-situatedcheckout workstations. That is, the cordless barcode reader may remainpersistently connected to a first checkout workstation even as a userattempts to wirelessly connect the cordless barcode reader to a secondcheckout workstation.

The present techniques allow a user of a cordless barcode reader toschedule or otherwise pre-set the timing of the cordless barcodereader's disconnections and/or attempts to connect to the host device.That is, rather than the cordless barcode reader remaining connected toa given host device by default and repeatedly or continuously attemptingto reconnect to a particular host device if the connection is lost,using the present techniques, the cordless barcode reader will connector disconnect from a given host device based on settings programmed bythe user of the cordless barcode reader.

For example, using the present techniques, a user could program acertain amount of time after which a cordless barcode reader will entera low power mode during which the cordless barcode reader does notattempt to connect to the host device, and optionally deactivates otherfunctionality as well. The user could further program an amount of timeduring which the cordless barcode reader will remain in the low powermode. For instance, a user could program the period of time during whichthe cordless barcode reader will remain in the low power mode based onthe typical length of a scheduled update or reboot of the host device.Accordingly, the cordless barcode reader will not attempt to connect tothe host device for the duration of the update or reboot.Advantageously, using the present techniques, the cordless barcodereader will conserve battery power for the duration of the update orreboot by not attempting to establish a wireless connection during theupdate or reboot (and by optionally deactivating other functionality ofthe cordless barcode reader during the update or reboot). Furthermore,other wireless networks in the area will not be slowed down by repeatedor continuous connection attempts through the duration of the update orreboot.

As another example, using the present techniques, a user could programan amount of cordless barcode reader idle time (i.e., time during whichthe cordless barcode reader is not actively capturing images) afterwhich the cordless barcode reader will automatically disconnect from ahost device, such as a checkout workstation in a retail environment, aworkstation on wheels in a hospital environment, a manufacturingworkstation, etc., even if the host device remains within wireless rangeof the cordless barcode reader. Accordingly, if a cordless barcodereader wirelessly connected to a first workstation is idle for theprogrammed amount of time, the cordless barcode reader will force adisconnect from the first workstation, allowing for easy wirelessconnection to a second closely-situated workstation as needed by theuser. Advantageously, the user does not need to manually disconnect thecordless barcode reader from a first workstation in order to wirelesslyconnect the cordless barcode reader to a closely-situated secondworkstation.

FIG. 1 illustrates a block diagram of an example system 100 including alogic circuit for implementing the example methods and/or operationsdescribed herein, including techniques for attempting to connect abarcode reader to a host device.

The system 100 may include a barcode reader 102 and a host device 104,configured to communicate via a network 106 (e.g., a Bluetooth® or othershort range wireless network).

The barcode reader 102 may include an imaging engine 108, a trigger 110,one or more peripheral sensors 112, a decode engine 114, a wirelesstransceiver 116, and/or a user interface 118, as well as a processor 120and a memory 122. The barcode reader 102 may further include a networkinterface (not shown) that represents any suitable type of communicationinterface(s) (e.g., a Bluetooth® or other short range wirelessinterface) configured to operate in accordance with any suitableprotocol(s) for communicating with the host device 104 via the network106.

The imaging engine 108 (also called an imaging assembly in someexamples) may include one or more cameras or other image sensorsconfigured to capture images of barcodes (or other symbology or indicia)attached to target objects (e.g., products to be purchased). The trigger110 may be configured to detect when a user is pulling the trigger 110,and may generate a signal indicating a trigger pull by the user. Forexample, the imaging engine 108 may capture images based on the signalindicating that a user has pulled the trigger 110. The one or moreperipheral sensors 112 may include, e.g., acceleration sensors,gyroscopic sensors, or other motion sensors. The decode engine 114 maybe configured to analyze the images captured by the imaging engine 108to decode barcodes (or other symbology or indicia) depicted in theimages.

The wireless transceiver 116 may be configured to establish a wirelessconnection with the host device 104 (e.g., a Bluetooth® connection viathe network 106) and transmit indications of the decoded barcodes to thehost device 104 via the established wireless connection.

The user interface 118 may be configured to receive settings and otherinstructions from users of the barcode reader 102. For instance, a usermay program the barcode reader 102, via the user interface 118, to entera low-power mode after a certain time interval of attempting toestablish the wireless connection has passed. While in the low-powermode, the barcode reader 102 may cease attempting to establish awireless connection with the host device 104. Furthermore, during thelow-power mode, the barcode reader 102 may deactivate variousfunctionality, such as, e.g., the imaging engine 108, one or moreperipheral sensors 112, the decode engine 114, and/or the wirelesstransceiver 116. For example, the user could set the time interval afterwhich the barcode reader 102 will enter the low-power mode as 30seconds, or one minute, or two minutes, etc., via the user interface118.

Furthermore, a user may program the barcode reader 102, via the userinterface 118, to return to a normal power mode (from the low-powermode) and attempt to establish the wireless connection again (andreactivate other deactivated functionality such as, e.g., the imagingengine 108, one or more peripheral sensors 112, the decode engine 114,and/or the wireless transceiver 116) after a certain time interval haspassed since the last attempt. For instance, the user could set the timeinterval as one hour, two hours, eight hours, etc., via the userinterface 118. For example, user could select the time interval based ona known duration of an upcoming system upgrade or reboot during whichconnection with the host device will be impossible.

The processor 120, which may be, for example, one or moremicroprocessors, controllers, and/or any suitable type of processors,may interact with the memory 122 accessible by the one or moreprocessors 120 (e.g., via a memory controller) to obtain, for example,machine-readable instructions stored in the memory 122 corresponding to,for example, the operations represented by the flowcharts of thisdisclosure, including those of FIGS. 3 and 4. In particular, theinstructions stored in the memory 122, when executed by the processor120, may cause the barcode reader 102 to wirelessly transmit data (e.g.,data associated with images captured by the imaging engine 108) to thehost device 104 (e.g., via the wireless transceiver 116) when thebarcode reader 102 is wirelessly connected to the host device 104.Furthermore, the instructions stored in the memory 122, when executed bythe processor 120 may cause the barcode reader 102 to enter or exit alow-power mode at certain times or after certain time intervals based onsettings input by users, e.g., via the user interface 118, as discussedabove. For instance, the instructions stored in the memory 122, whenexecuted by the processor 120, may cause the barcode reader 102 to enterthe low-power mode after a first period of time during which the barcodereader 102 attempts, and fails, to establish a wireless connection withthe host device 104. Entering the low-power mode may include ceasingattempts to establish the wireless connection with the host device 104,and/or deactivating one or more of the imaging engine 108, peripheralsensors 112, decode engine 114, and/or wireless transceiver 116.

Furthermore, the instructions stored in the memory 122, when executed bythe processor 120, may cause the barcode reader 102 to leave thelow-power mode after the passage of a second period of time in thelow-power mode. For instance, the second period of time may be a longerperiod of time than the first period of time. In some examples, theinstructions stored in the memory 122, when executed by the processor120, may cause the barcode reader 102 to leave the low-power mode basedon a signal generated by the trigger 110 indicating that a user hasmanually activated the trigger 110. Leaving the low-power mode mayinclude resuming attempts to establish the wireless connection with thehost device 104, and/or reactivating one or more of the imaging engine108, peripheral sensors 112, decode engine 114, and/or wirelesstransceiver 116.

Additionally or alternatively, machine-readable instructionscorresponding to the example operations described herein may be storedon one or more removable media (e.g., a compact disc, a digitalversatile disc, removable flash memory, etc.) that may be coupled to thebarcode reader 102 to provide access to the machine-readableinstructions stored thereon.

The host device 104 may include a wireless transceiver 124, as well as aprocessor 126 and a memory 128. The host device 104 may further includea network interface (not shown) that represents any suitable type ofcommunication interface(s) (e.g., a Bluetooth® or other short rangewireless interface) configured to operate in accordance with anysuitable protocol(s) for communicating with the barcode reader 102 viathe network 106.

The wireless transceiver 124 may be configured to establish a wirelessconnection with the barcode reader 102 (e.g., a Bluetooth® connectionvia the network 106), and receive indications of the decoded barcodestransmitted by the barcode reader 102 via the established wirelessconnection.

The processor 126, which may be, for example, one or moremicroprocessors, controllers, and/or any suitable type of processors,may interact with the memory 128 accessible by the one or moreprocessors 126 (e.g., via a memory controller) to obtain, for example,machine-readable instructions stored in the memory 128 corresponding to,for example, the operations represented by the flowcharts of thisdisclosure, including those of FIGS. 3 and 4. In particular, theinstructions stored in the memory 128, when executed by the processor126, may cause the processor 126 to receive data (e.g., barcode decodedata) transmitted by the barcode reader 102 (e.g., via the network 106).

Furthermore, in some examples, in which the host device 104 includes auser interface (not shown), the instructions stored on the memory 128,when executed by the processor 126, may cause the processor 126 toreceive settings and other instructions from users of the barcode reader102 or the host device 104, e.g., as discussed with respect to the userinterface 118. In such instances, the instructions stored on the memory128, when executed by the processor 126, may cause the processor 126 totransmit indications of settings or other instructions from the user tothe barcode reader 102.

Additionally or alternatively, machine-readable instructionscorresponding to the example operations described herein may be storedon one or more removable media (e.g., a compact disc, a digitalversatile disc, removable flash memory, etc.) that may be coupled to thehost device 104 to provide access to the machine-readable instructionsstored thereon.

FIG. 2 illustrates a block diagram of an example system 200 including alogic circuit for implementing the example methods and/or operationsdescribed herein, including techniques for forcing a disconnect of awireless connection between a cordless barcode reader and a firstworkstation so that the cordless barcode reader can connect to a secondworkstation.

The system 200 may include a barcode reader 202 and two or moreworkstations 204A, 204B (e.g., a cluster or other logical grouping ofworkstations) configured to communicate via a network 106 (e.g., aBluetooth® or other short range wireless network). Although only twoworkstations 204A, 204B are shown in FIG. 2, there may be any number ofworkstations in various embodiments.

The barcode reader 202 may include an imaging engine 208, a trigger 210,one or more peripheral sensors 212, a decode engine 214, a wirelesstransceiver 216, and/or a user interface 218, as well as a processor 220and a memory 222. The barcode reader 202 may further include a networkinterface (not shown) that represents any suitable type of communicationinterface(s) (e.g., a Bluetooth® or other short range wirelessinterface) configured to operate in accordance with any suitableprotocol(s) for communicating with the workstations 204A, 204B via thenetwork 206.

The imaging engine 208 (also called an imaging assembly in someexamples) may include one or more cameras or other image sensorsconfigured to capture images of barcodes (or other symbology or indicia)attached to target objects (e.g., products to be purchased). The trigger210 may be configured to detect when a user is pulling the trigger 210,and may generate a signal indicating a trigger pull by the user. Forexample, the imaging engine 208 may capture images based on the signalindicating that a user has pulled the trigger 210. The one or moreperipheral sensors 212 may include, e.g., acceleration sensors,gyroscopic sensors, or other motion sensors. The decode engine 214 maybe configured to analyze the images captured by the imaging engine 208to decode barcodes (or other symbology or indicia) depicted in theimages.

The wireless transceiver 216 may be configured to establish a wirelessconnection with one of the workstations 204A, 204B (e.g., a Bluetooth®connection via the network 106), and transmit indications of the decodedbarcodes to the workstation 204A, 204B via the established wirelessconnection.

The user interface 218 may be configured to receive settings and otherinstructions from users of the barcode reader 202. For instance, a usermay program the barcode reader 202, via the user interface 218, to forcea disconnect from a workstation 204A, 204B to which the barcode reader202 is currently wirelessly connected based on the barcode reader 202being idle or inactive (e.g., not actively capturing images) for acertain period of time. In particular, the user may select the certainperiod of time after which the barcode reader 202 forces the disconnectwith the workstation 204A, 204B. For instance, the user may select a10-second period of time, a 30-second period of time, etc., after whichthe barcode reader 202 will force the disconnect with the workstation204A, 204B.

The processor 220, which may be, for example, one or moremicroprocessors, controllers, and/or any suitable type of processors,may interact with the memory 222 accessible by the one or moreprocessors 220 (e.g., via a memory controller) to obtain, for example,machine-readable instructions stored in the memory 222 corresponding to,for example, the operations represented by the flowcharts of thisdisclosure, including those of FIGS. 3 and 4. In particular, theinstructions stored in the memory 222, when executed by the processor220, may cause the barcode reader 202 to wirelessly transmit data (e.g.,data associated with images captured by the imaging engine 208) to aworkstation 204A, 204B (e.g., via the wireless transceiver 216) when thebarcode reader 202 is wirelessly connected to the workstation 204A,204B.

Furthermore, the instructions stored in the memory 222, when executed bythe processor 220, may cause the barcode reader 202 to force adisconnect of the wireless connection between the barcode scanner 202and a first workstation 204A after a certain period of idle or inactivetime during which the barcode reader 202 is not actively capturingimages. For instance, in some examples, as discussed above, the periodof idle time after which the barcode reader 202 forces a disconnect withthe first workstation 204A may be set by a user, while in other examplesthe period of idle time after which the barcode reader 202 forces adisconnect with the first workstation 204A may be pre-set. Moreover, theinstructions stored in the memory 222, when executed by the processor220, may cause the barcode reader 202 to establish a wireless connectionwith a second workstation 204B after the forced disconnect with thefirst workstation 204A.

Additionally, or alternatively, machine-readable instructionscorresponding to the example operations described herein may be storedon one or more removable media (e.g., a compact disc, a digitalversatile disc, removable flash memory, etc.) that may be coupled to thebarcode reader 202 to provide access to the machine-readableinstructions stored thereon.

The workstations 204A, 204B (which may be, e.g., checkout workstationsin a retail environment, workstations on wheels (WOW carts) in ahospital environment, manufacturing workstations, etc.) may each includea respective wireless transceiver 224A, 224B as well as a processor226A, 226B and a memory 228A, 228B. The workstations 204A, 204B may eachfurther include a respective network interface (not shown) thatrepresents any suitable type of communication interface(s) (e.g., aBluetooth® or other short range wireless interface) configured tooperate in accordance with any suitable protocol(s) for communicatingwith the barcode reader 202 via the network 206.

The wireless transceivers 224A, 224B may each be configured to establisha wireless connection with the barcode reader 202 (e.g., a Bluetooth®connection via the network 206), and receive indications of the decodedbarcodes transmitted by the barcode reader 202 via the establishedwireless connection.

The processors 226A, 226B which may be, for example, one or moremicroprocessors, controllers, and/or any suitable type of processors,may interact with respective memories 228A, 228B accessible by therespective one or more processors 226A, 226B (e.g., via a memorycontroller) to obtain, for example, machine-readable instructions storedin a respective memory 228A, 228B corresponding to, for example, theoperations represented by the flowcharts of this disclosure, includingthose of FIGS. 3 and 4. In particular, the instructions stored in thememories 228A, 228B, when executed by the respective processors 226A,226B, may cause the respective processors 226A, 226B to receive data(e.g., barcode decode data) transmitted by the barcode reader 202 (e.g.,via the network 206).

Furthermore, in some examples, in which the workstations 204A, 204Binclude user interfaces (not shown), the instructions stored on thememories 228A, 228B when executed by the respective processors 226A,226B, may cause the processors 226A, 226B to receive settings and otherinstructions from users of the barcode reader 202 or workstations 204A,204B, e.g., as discussed with respect to the user interface 218. In suchinstances, the instructions stored on the memories 228A, 228B, whenexecuted by the respective processors 226A, 226B, may cause theprocessors 226A, 226B to transmit indications of settings or otherinstructions from the user to the barcode reader 202.

Additionally or alternatively, machine-readable instructionscorresponding to the example operations described herein may be storedon one or more removable media (e.g., a compact disc, a digitalversatile disc, removable flash memory, etc.) that may be coupled to theworkstations 204A, 204B to provide access to the machine-readableinstructions stored thereon.

FIG. 3 illustrates a block diagram of an example process 300 as may beimplemented by the logic circuit of FIG. 1, for implementing examplemethods and/or operations described herein, including techniques forattempting to connect a barcode reader to a host device, as may beperformed by the system 100, barcode reader 102, and/or host device 104of FIG. 1.

At a process 302, a wireless transceiver of a barcode reader may attemptto establish a wireless connection (e.g., a Bluetooth® connection) witha host device a plurality of times over a first period of time. In someexamples, the first period of time may be a period of time that is setby a user, e.g., via a user interface of the barcode reader or a userinterface of the host device. For example, the user may set the firstperiod of time as 15 seconds, 30 seconds, one minute, five minutes, etc.

At a process 304, the barcode reader may enter a power-saving moderesponsive to failing to establish the wireless connection with the hostdevice over the first period of time. During the power-saving mode atleast one of the transceiver, a decode engine, a peripheral sensor, andan imaging engine of the barcode reader may be deactivated. Inparticular, during the power-saving mode, the barcode reader may ceaseany attempts to establish the wireless connection with the host device.

At a process 306, the wireless transceiver of the barcode reader mayattempt to re-establish the wireless connection with the host deviceafter the passage of a second period of time following the first periodof time or after a receipt of an interrupt signal. Additionally, afterthe passage of the second period of time following the first period oftime or after a receipt of an interrupt signal, two or more of thetransceiver, the decode engine, or the peripheral sensor that weredeactivated during the power-saving mode may be reactivated.

The second period of time will generally be longer than the first periodof time, and may be set by a user, e.g., via a user interface of thebarcode reader or a user interface of the host device. For example, theuser may set the second period of time as one hour, two hours, fivehours, etc. In some examples, the user may select the second period oftime based on the predicted length of a known downtime of the hostdevice (e.g., a planned reboot or update). The interrupt signal may bean indication that a user is attempting to use the barcode reader. Forinstance, the interrupt signal may be generated responsive to manualactivation of a trigger of the barcode reader by a user.

FIG. 4 illustrates a block diagram of another example process 400 as maybe implemented by the logic circuit of FIG. 2, for implementing examplemethods and/or operations described herein, including techniques forforcing a disconnect of a wireless connection between a cordless barcodereader and a first workstation so that the cordless barcode reader canconnect to a second workstation, as may be performed by the system 200,barcode reader 202 and/or workstations 204A, 204B of FIG. 2.

At a process 402, a barcode reader within wireless connection range(e.g., within Bluetooth® connection range) of a first workstation and asecond workstation may establish a wireless connection (e.g., aBluetooth® connection) with the first workstation. For example, thefirst and second workstations may be part of a closely-situated logicalgrouping of workstations, e.g., a cluster of checkout workstations in aretail environment, a cluster of workstations on wheels (WOW carts) in ahospital environment, a cluster of manufacturing workstations, etc. Forexample, the barcode reader may exist in a retail environment in which auser (such as, e.g., a retail manager) must switch betweenclosely-situated checkout workstations as needed, e.g., to approvecertain types of purchases, troubleshoot employee or customer errors,etc.

At a process 404, the barcode reader may force a disconnect of thewireless connection between the barcode reader and the first workstationafter a period of time during which the barcode reader is inactive oridle (e.g., not actively capturing images of barcodes). In someexamples, the period of time may be a period of time that is set by auser, e.g., via a user interface of the barcode reader. For example, theuser may set the first period of time as 15 seconds, 30 seconds, oneminute, five minutes, etc. In particular, the barcode reader may forcethe disconnect while the barcode reader is still within wireless rangeof both the first workstation and the second workstation. Furthermore,the barcode reader may force the disconnect without additional inputfrom a user of the barcode reader. That is, the user may not be requiredto push a button or make any other selection to cause the barcode readerto force the disconnect after the period of inactive time.

At a process 406, the barcode reader may establish a wireless connectionwith the second workstation after the period of time.

In some examples, the process 400 may be implemented in a barcode readerwithin wireless connection range of more than two workstations (e.g., acluster of workstations further including a third workstation, a fourthworkstation, a fifth workstation, etc., in addition to the first andsecond workstations). For instance, if the set period of inactive timepasses while the barcode reader is wirelessly connected to the secondworkstation, the barcode reader may force a disconnect of the wirelessconnection between the barcode reader and the second workstation, andmay establish a wireless connection with the third workstation, and soon. In some examples, the user may select a particular workstation towhich the barcode reader is to wirelessly connect after each forceddisconnect.

The above description refers to a block diagram of the accompanyingdrawings. Alternative implementations of the example represented by theblock diagram includes one or more additional or alternative elements,processes and/or devices. Additionally or alternatively, one or more ofthe example blocks of the diagram may be combined, divided, re-arrangedor omitted. Components represented by the blocks of the diagram areimplemented by hardware, software, firmware, and/or any combination ofhardware, software and/or firmware. In some examples, at least one ofthe components represented by the blocks is implemented by a logiccircuit. As used herein, the term “logic circuit” is expressly definedas a physical device including at least one hardware componentconfigured (e.g., via operation in accordance with a predeterminedconfiguration and/or via execution of stored machine-readableinstructions) to control one or more machines and/or perform operationsof one or more machines. Examples of a logic circuit include one or moreprocessors, one or more coprocessors, one or more microprocessors, oneor more controllers, one or more digital signal processors (DSPs), oneor more application specific integrated circuits (ASICs), one or morefield programmable gate arrays (FPGAs), one or more microcontrollerunits (MCUs), one or more hardware accelerators, one or morespecial-purpose computer chips, and one or more system-on-a-chip (SoC)devices. Some example logic circuits, such as ASICs or FPGAs, arespecifically configured hardware for performing operations (e.g., one ormore of the operations described herein and represented by theflowcharts of this disclosure, if such are present). Some example logiccircuits are hardware that executes machine-readable instructions toperform operations (e.g., one or more of the operations described hereinand represented by the flowcharts of this disclosure, if such arepresent). Some example logic circuits include a combination ofspecifically configured hardware and hardware that executesmachine-readable instructions. The above description refers to variousoperations described herein and flowcharts that may be appended heretoto illustrate the flow of those operations. Any such flowcharts arerepresentative of example methods disclosed herein. In some examples,the methods represented by the flowcharts implement the apparatusrepresented by the block diagrams. Alternative implementations ofexample methods disclosed herein may include additional or alternativeoperations. Further, operations of alternative implementations of themethods disclosed herein may combined, divided, re-arranged or omitted.In some examples, the operations described herein are implemented bymachine-readable instructions (e.g., software and/or firmware) stored ona medium (e.g., a tangible machine-readable medium) for execution by oneor more logic circuits (e.g., processor(s)). In some examples, theoperations described herein are implemented by one or moreconfigurations of one or more specifically designed logic circuits(e.g., ASIC(s)). In some examples the operations described herein areimplemented by a combination of specifically designed logic circuit(s)and machine-readable instructions stored on a medium (e.g., a tangiblemachine-readable medium) for execution by logic circuit(s).

As used herein, each of the terms “tangible machine-readable medium,”“non-transitory machine-readable medium” and “machine-readable storagedevice” is expressly defined as a storage medium (e.g., a platter of ahard disk drive, a digital versatile disc, a compact disc, flash memory,read-only memory, random-access memory, etc.) on which machine-readableinstructions (e.g., program code in the form of, for example, softwareand/or firmware) are stored for any suitable duration of time (e.g.,permanently, for an extended period of time (e.g., while a programassociated with the machine-readable instructions is executing), and/ora short period of time (e.g., while the machine-readable instructionsare cached and/or during a buffering process)). Further, as used herein,each of the terms “tangible machine-readable medium,” “non-transitorymachine-readable medium” and “machine-readable storage device” isexpressly defined to exclude propagating signals. That is, as used inany claim of this patent, none of the terms “tangible machine-readablemedium,” “non-transitory machine-readable medium,” and “machine-readablestorage device” can be read to be implemented by a propagating signal.

In the foregoing specification, specific embodiments have beendescribed. However, one of ordinary skill in the art appreciates thatvarious modifications and changes can be made without departing from thescope of the invention as set forth in the claims below. Accordingly,the specification and figures are to be regarded in an illustrativerather than a restrictive sense, and all such modifications are intendedto be included within the scope of present teachings. Additionally, thedescribed embodiments/examples/implementations should not be interpretedas mutually exclusive, and should instead be understood as potentiallycombinable if such combinations are permissive in any way. In otherwords, any feature disclosed in any of the aforementionedembodiments/examples/implementations may be included in any of the otheraforementioned embodiments/examples/implementations.

The benefits, advantages, solutions to problems, and any element(s) thatmay cause any benefit, advantage, or solution to occur or become morepronounced are not to be construed as a critical, required, or essentialfeatures or elements of any or all the claims. The claimed invention isdefined solely by the appended claims including any amendments madeduring the pendency of this application and all equivalents of thoseclaims as issued.

Moreover, in this document, relational terms such as first and second,top and bottom, and the like may be used solely to distinguish oneentity or action from another entity or action without necessarilyrequiring or implying any actual such relationship or order between suchentities or actions. The terms “comprises,” “comprising,” “has”,“having,” “includes”, “including,” “contains”, “containing” or any othervariation thereof, are intended to cover a non-exclusive inclusion, suchthat a process, method, article, or apparatus that comprises, has,includes, contains a list of elements does not include only thoseelements but may include other elements not expressly listed or inherentto such process, method, article, or apparatus. An element proceeded by“comprises . . . a”, “has . . . a”, “includes . . . a”, “contains ...a”does not, without more constraints, preclude the existence of additionalidentical elements in the process, method, article, or apparatus thatcomprises, has, includes, contains the element. The terms “a” and “an”are defined as one or more unless explicitly stated otherwise herein.The terms “substantially”, “essentially”, “approximately”, “about” orany other version thereof, are defined as being close to as understoodby one of ordinary skill in the art, and in one non-limiting embodimentthe term is defined to be within 10%, in another embodiment within 5%,in another embodiment within 1% and in another embodiment within 0.5%.The term “coupled” as used herein is defined as connected, although notnecessarily directly and not necessarily mechanically. A device orstructure that is “configured” in a certain way is configured in atleast that way, but may also be configured in ways that are not listed.

The Abstract of the Disclosure is provided to allow the reader toquickly ascertain the nature of the technical disclosure. It issubmitted with the understanding that it will not be used to interpretor limit the scope or meaning of the claims. In addition, in theforegoing Detailed Description, it can be seen that various features aregrouped together in various embodiments for the purpose of streamliningthe disclosure. This method of disclosure is not to be interpreted asreflecting an intention that the claimed embodiments require morefeatures than are expressly recited in each claim. Rather, as thefollowing claims reflect, inventive subject matter may lie in less thanall features of a single disclosed embodiment. Thus, the followingclaims are hereby incorporated into the Detailed Description, with eachclaim standing on its own as a separately claimed subject matter.

The claims are:
 1. A method for attempting to connect a barcode readerto a host device, comprising: attempting, by a wireless transceiver ofthe barcode reader, to establish a wireless connection with a hostdevice a plurality of times over a first period of time; entering, bythe barcode reader, a power-saving mode responsive to failing toestablish the wireless connection with the host device over the firstperiod of time wherein during the power-saving mode at least one of thetransceiver, a decode engine, a peripheral sensor, and an imaging engineof the barcode reader are deactivated; and attempting, by the wirelesstransceiver of the barcode reader, to re-establish the wirelessconnection with the host device after (i) a passage of a second periodof time following the first period of time, wherein the second period oftime is greater than the first period of time; or (ii) a receipt of aninterrupt signal.
 2. The method of claim 1, further comprising: setting,by the barcode reader, a duration of the first period of time based onuser input.
 3. The method of claim 1, further comprising: setting, bythe barcode reader, a duration of the second period of time based onuser input.
 4. The method of claim 1, wherein the interrupt signal isgenerated responsive to manual activation of a trigger of the barcodereader by a user.
 5. The method of claim 1, further comprisingreactivating two or more of the transceiver, the decode engine, theperipheral sensor, after (i) the passage of the second period of timefollowing the first period of time or (ii) the receipt of the interruptsignal.
 6. The method of claim 1, wherein the wireless connection is aBluetooth connection.
 7. A method, comprising: establishing, by abarcode reader within wireless connection range of a first workstationand a second workstation of a logical grouping of workstations, awireless connection with the first workstation; forcing a disconnect ofthe wireless connection between the barcode reader and the firstworkstation after a period of time during which the barcode reader isinactive; and establishing, by the barcode reader, a wireless connectionwith the second workstation after the period of time.
 8. The method ofclaim 7, further comprising: setting, by the barcode reader, a durationof the period of time based on user input.
 9. The method of claim 7,wherein the wireless connection is a Bluetooth connection.
 10. A barcodereader including a wireless transceiver, the barcode reader configuredto: attempt, by the wireless transceiver, to establish a wirelessconnection with a host device a plurality of times over a first periodof time; enter a power-saving mode responsive to failing to establishthe wireless connection with the host device over the first period oftime wherein during the power-saving mode at least one of thetransceiver, a decode engine, a peripheral sensor, and an imaging engineof the barcode reader are deactivated; and attempt, by the wirelesstransceiver, to re-establish the wireless connection with the hostdevice after (i) a passage of a second period of time following thefirst period of time, wherein the second period of time is greater thanthe first period of time; or (ii) a receipt of an interrupt signal. 11.The barcode reader of claim 10, the barcode reader further configured toset a duration of the first period of time based on user input.
 12. Thebarcode reader of claim 10, the barcode reader further configured to seta duration of the second period of time based on user input.
 13. Thebarcode reader of claim 10, wherein the interrupt signal is generatedresponsive to manual activation of a trigger of the barcode reader by auser.
 14. The barcode reader of claim 10, further configured toreactivate two or more of the transceiver, the decode engine, theperipheral sensor, and the imaging engine, after (i) the passage of thesecond period of time following the first period of time or (ii) thereceipt of the interrupt signal.
 15. The barcode reader of claim 10,wherein the wireless connection is a Bluetooth connection.
 16. A barcodereader within wireless connection range of a first workstation and asecond workstation of a logical grouping of workstations, the barcodereader configured to: establish a wireless connection with the firstworkstation; force a disconnect of the wireless connection with thefirst workstation after a period of time during which the barcode readeris inactive; and establish a wireless connection with the secondworkstation after the period of time.
 17. The barcode reader of claim16, the barcode reader is further configured to set a duration of theperiod of time based on user input.
 18. The barcode reader of claim 16,wherein the wireless connection is a Bluetooth connection.
 19. A systemcomprising: a host device; and a barcode reader including a wirelesstransceiver, the barcode reader configured to: attempt, by the wirelesstransceiver, to establish a wireless connection with a host device aplurality of times over a first period of time; enter a power-savingmode responsive to failing to establish the wireless connection with thehost device over the first period of time wherein during thepower-saving mode at least one of the transceiver, a decode engine, aperipheral sensor, and an imaging engine of the barcode reader aredeactivated; and attempt, by the wireless transceiver, to re-establishthe wireless connection with the host device after (i) a passage of asecond period of time following the first period of time, wherein thesecond period of time is greater than the first period of time; or (ii)a receipt of an interrupt signal.
 20. The system of claim 19, whereinthe barcode reader is further configured to set a duration of the firstperiod of time based on user input.
 21. The system of claim 19, whereinthe barcode reader is further configured to set a duration of the secondperiod of time based on user input.
 22. The system of claim 19, whereinthe interrupt signal is generated responsive to manual activation of atrigger of the barcode reader by a user.
 23. The barcode reader of claim19, further configured to reactivate two or more of the transceiver, thedecode engine, the peripheral sensor, and the imaging engine, after (i)the passage of the second period of time following the first period oftime or (ii) the receipt of the interrupt signal.
 24. The barcode readerof claim 19, wherein the wireless connection is a Bluetooth connection.25. A system comprising: a logical grouping of workstations including afirst workstation and a second workstation; and a barcode reader withinwireless connection range of the first workstation and the secondworkstation, the barcode reader configured to: establish a wirelessconnection with the first workstation; force a disconnect of thewireless connection with the first workstation after a period of timeduring which the barcode reader is inactive; and establish a wirelessconnection with the second workstation after the period of time.
 26. Thesystem of claim 25, wherein the barcode reader is further configured toset a duration of the period of time based on user input.
 27. The systemof claim 25, wherein the wireless connection is a Bluetooth connection.